home *** CD-ROM | disk | FTP | other *** search
- /*
- Globals.h
-
- Defines macros for working with globals in a code resource.
-
- THINK C 5.0 or better required.
-
- Patrick Beard.
- */
-
- #pragma once
-
- #ifndef __GLOBALS__
- #define __GLOBALS__
-
- #ifdef THINK_C
- #if __option(a4_globals)
- #include "SetUpA4.h"
- #define InitGlobals() RememberA0()
- #define OpenGlobals() SetUpA4()
- #define CloseGlobals() RestoreA4()
- #define RememberGlobals() RememberA4()
- #else
- #include "SetUpA5.h"
- #define InitGlobals() RememberA5()
- #define OpenGlobals() SetUpA5()
- #define CloseGlobals() RestoreA5()
- #define RememberGlobals() RememberA5()
- #endif
- #define DestroyGlobals()
- #define GetCodeHandle() RecoverHandle((Ptr)GetA4())
- #endif
-
- #ifdef applec
- void AllocateWorld(void);
- void DestroyWorld(void);
- void EnterWorld(void);
- void PushA5() = { 0x2F0D };
- void PopA5() = { 0x2A5F };
- #define InitGlobals() AllocateWorld()
- #define OpenGlobals() do { PushA5(); EnterWorld(); } while(0)
- #define CloseGlobals() PopA5()
- #define RememberGlobals()
- #define DestroyGlobals() DestroyWorld()
- extern "C" void ExtensionMain(void);
- #define GetCodeHandle() RecoverHandle((Ptr)&ExtensionMain)
- #endif
-
- #endif /* __GLOBALS__ */
-